//
//  KCFriendViewController.m
//  EmptyProjectNavigationController
//
//  Created by YannisChou on 16/3/15.
//  Copyright © 2016年 Alibaba. All rights reserved.
//
//  在好友列表视图控制器中设置导航栏左右按钮，并且设置点击右侧按钮导航到添加QQ联系人视图
//
//  UINavigationController默认显示一个根控制器，这个根视图必须指定(前面我们说过UINavigationController和UITabBarController类似仅仅作为导航
//  容器，本身并不会显示视图)，通过根控制器导航到其他下一级子视图。
//  在子视图中可以通过navigationController访问导航控制器，同时可以通过navigationController的childViewControllers获得当前栈中所有的子视图
//  (注意每一个出栈的子视图都会被销毁)
//  UINavigationController导航是通过上方导航栏进行的(类似的UITabBarController是通过下放UITabBar进行导航)，每个放到UINavigationController
//  栈中的子视图都会显示一个导航栏，可以通过子控制器(包括根控制器)的navigationItem访问这个导航栏，修改左右两边的按钮内容，
//  默认情况下厨了根控制器之外的其它子控制器左侧都会在导航栏左侧显示返回按钮，点击可以反悔上一级视图，同时按钮标题默认为上一级视图的标题，可以通过
//  backBarButtonItem修改，下一级子视图左侧返回按钮上的标题的显示优先级为:导航栏返回按钮backBarButtonItem的标题(注意不能直接给
//  backBarButtonItem的标题赋值，只能重新给backBarButtonItem赋值)、导航栏navigationItem的标题、视图控制器标题
//

#import "KCFriendViewController.h"
#import "KCQQContactViewController.h"

@interface KCFriendViewController ()

@end

@implementation KCFriendViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    // 每次出栈都会销毁相应的子控制器
    NSLog(@"childViewControllers:%@",self.navigationController.childViewControllers);
    
    // 在子视图中可以通过navigationController属性访问导航控制器
    // 同时对于当前子视图来说其父控制器就是其导航控制器
    NSLog(@"%i",self.navigationController == self.parentViewController);
    
    // 在子视图中(或者根视图)有一个navigationItem用于访问其导航信息
    self.navigationItem.title = @"Friends"; // 或者直接设置控制器title(例如[self setTitle:@"Friends"])
    // 设置导航栏左侧按钮
    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Edit" style:UIBarButtonSystemItemAdd target:nil action:nil];
    // 设置导航栏右侧按钮
    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Add"] style:UIBarButtonItemStyleDone target:self action:@selector(addFriends)];
}

-(void)addFriends{
    // 通过push导航到另一个子视图
    KCQQContactViewController *qqContactController = [[KCQQContactViewController alloc] init];
    [self.navigationController pushViewController:qqContactController animated:YES];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
